﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Data.SqlClient;



namespace VerdePimienta2._0
{
    public partial class Main : Form
    {
        string constring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\VP\\des_VP.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
        //string constring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\VP\\verdepimientadb.mdf;Integrated Security=True;User Instance=True";
        //string constring = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\Chema\\Mis documentos\\Visual Studio 2008\\Projects\\VerdePimienta2.0\\VerdePimienta2.0\\verdepimientadb.mdf;Integrated Security=True;User Instance=True";
        public Main()
        {
            InitializeComponent();
            this.IsMdiContainer = true;
        }

        //Nueva Apertura
        private void aperturaToolStripMenuItem_Click(object sender, EventArgs e)
        {
           
            if(!mirarEstadoCaja())
            {
                Apertura nuevaApertura = new Apertura();
                nuevaApertura.MdiParent = this;
                nuevaApertura.Show(); 
            }
            else
            {
                MessageBox.Show("La caja ya está abierta.", "Apertura.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        
        //Nuevo Empleado
        private void nuevoToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            EmpleadoNuevo nuevoEmpleado = new EmpleadoNuevo();
            nuevoEmpleado.MdiParent = this;
            nuevoEmpleado.Show();
        }
        
        //NUevo Cliente
        private void nuevoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ClienteNuevo nuevoCliente = new ClienteNuevo();
            nuevoCliente.MdiParent = this;
            nuevoCliente.Show();
        }

        //Nueva empresa
        private void nuevaToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            EmpresaNueva nuevaEmpresa = new EmpresaNueva();
            nuevaEmpresa.MdiParent = this;
            nuevaEmpresa.Show();
        }

        //Nueva venta
        private void nuevaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (mirarEstadoCaja())
            {
                Chema nuevaVenta = new Chema();
                nuevaVenta.MdiParent = this;
                nuevaVenta.Show();
            }
            else 
            {
                MessageBox.Show("La caja está cerrada, no puede llevar a cabo ninguna venta.", "Error Venta.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        //Listado Clintes
        private void listadoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ListadoClientes nuevoListado = new ListadoClientes();
            nuevoListado.MdiParent = this;
            nuevoListado.Show();
        }

        private void buscarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //BuscarCliente nuevoBuscarCliente = new BuscarCliente();
            //nuevoBuscarCliente.MdiParent = this;
            //nuevoBuscarCliente.Show();
        }

        private void detalleToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //BuscarClienteDetalle nuevoClienteDetalle = new BuscarClienteDetalle();
            //nuevoClienteDetalle.MdiParent = this;
            //nuevoClienteDetalle.Show();
        }

        private void modificarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //ModificarDatosCliente nuevoModificarCliente = new ModificarDatosCliente();
            //nuevoModificarCliente.MdiParent = this;
            //nuevoModificarCliente.Show();
        }
        
        //Pagos
        private void nuevoToolStripMenuItem3_Click(object sender, EventArgs e)
        {
           if (mirarEstadoCaja())
            {
                Pagos nuevoPago = new Pagos();
                nuevoPago.MdiParent = this;
                nuevoPago.Show();
            }
            else
            {
                MessageBox.Show("La caja no está abierta, no puede llevar a cabo ningún pago.", "Error Pago.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        //Ingresos
        private void nuevoToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            if (mirarEstadoCaja())
            {
                Ingresos nuevoIngreso = new Ingresos();
                nuevoIngreso.MdiParent = this;
                nuevoIngreso.Show();
            }
            else
            {
                MessageBox.Show("La caja no está abierta, no puede llevar a cabo ningún ingreso.", "Error Ingreso.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }            
        }

        //Modificar Empleado
        private void modificarToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            ModificarEmpleado nuevoModifEmp = new ModificarEmpleado();
            nuevoModifEmp.MdiParent = this;
            nuevoModifEmp.Show();
        }

        //Eliminar Empleado
        private void eliminarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Empleados.EliminarEmpleado nuevoElimEmp = new Empleados.EliminarEmpleado();
            nuevoElimEmp.MdiParent = this;
            nuevoElimEmp.Show();

        }
        
        //Cierre
        private void realizarCierreToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (mirarEstadoCaja())
            {
                CierreCaja nuevoCierre = new CierreCaja();
                nuevoCierre.MdiParent = this;
                nuevoCierre.Show();
            }
            else
            {
                MessageBox.Show("La caja no está abierta.", "Error Cierre.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
                          
        }

        private void modificarToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            //ModificarDatosEmpresa nuevaModificacionEmpresa = new ModificarDatosEmpresa();
            //nuevaModificacionEmpresa.MdiParent = this;
            //nuevaModificacionEmpresa.Show();
        }
        
        //Operaciones cliente
        private void operacionesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OperacionesCliente nuevaOperacion = new OperacionesCliente();
            nuevaOperacion.MdiParent = this;
            nuevaOperacion.Show();
        }
        
        //Listado Empresas
        private void listadoToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            ListadoEmpresas lis = new ListadoEmpresas();
            lis.MdiParent = this;
            lis.Show();
        }
        
        //operaciones empresa
        private void operacionesToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            OperacionesEmpresa op = new OperacionesEmpresa();
            op.MdiParent = this;
            op.Show();
        }

        //Listado empleados
        private void listadoToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            ListadoEmpleados li = new ListadoEmpleados();
            li.MdiParent = this;
            li.Show();
        }

        //salir
        private void salirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void ventasToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private bool mirarEstadoCaja()
        {
            string consulta;
            bool abierta = false;
            consulta = "Select * from ControlCierre";
            SqlConnection conexion = new SqlConnection(constring);
            
            try
            {
                conexion.Open();
                SqlCommand cmd = conexion.CreateCommand();
                cmd.CommandText = consulta;
                
                SqlDataReader readerCaja = cmd.ExecuteReader();
                readerCaja.Read();
                
                    abierta = bool.Parse(readerCaja.GetValue(1).ToString());
                                        
                readerCaja.Close();
                cmd.Dispose();
                conexion.Close();

            }
            catch (Exception exc)
            {
                MessageBox.Show("Error en Acceso a Base de datos." + exc.Message + ".", "Sistema.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return abierta;
        }
                
    }
}
